<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    //1.求和函数封装练习
    // function sum(a, b) {
    //   let c = a + b
    //   return c
    // }
    // let re = sum(3, 2)
    // console.log(re)
    //2.实现两个数的值交换(函数版本)
    // function changeNum(x, y) {
    //   let temp = 0
    //   temp = x
    //   x = y
    //   y = temp
    //   document.write(x, y)
    // }
    // changeNum(1, 2)
    // changeNum('lili', 'bang')

    //3.封装余额函数

    // function remain(a) {
    //   let balance = +prompt('请输入银行卡余额')
    //   let foodBalance = +prompt('请输入当月食宿消费金额')
    //   let lifeBalance = +prompt('请输入当生活消费金额')
    //   return balance - foodBalance - lifeBalance
    // }
    // let re = remain()
    // alert(`银行卡剩余金额为${re}`)
    //4. 封装一个函数,可以求任意数组的和 或 平均值
    // function handleData(arr, flag = true) {
    //   let sum = 0
    //   for (let i = 0; i < arr.length; i++) {
    //     sum = sum + arr[i]
    //   }
    //   if (flag) {
    //     return sum
    //   } else {
    //     return sum / arr.length
    //   }
    // }
    // console.log(handleData([1, 2, 3, 4]));
    // console.log(handleData([1, 2, 3, 4], true));
    // console.log(handleData([1, 2, 3, 4], false));
    //扩展题1
    // function some(ele, arr = []) {
    //   let flag = false
    //   for (let i = 0; i < arr.length; i++) {
    //     if (ele === arr[i]) {
    //       flag = true
    //       break
    //     }
    //   }
    //   return flag
    // }
    // let re = some('荔枝', ['苹果', '香蕉', '橘子', '荔枝', '梨子'])
    // console.log(re) // true
    // let re1 = some('榴莲', ['苹果', '香蕉', '橘子', '荔枝', '梨子'])
    // console.log(re1) // false
    //扩展题1
    // 封装函数返回元素的下标  [1, 5, 10, 22, 8, 7]
    // 1. 封装函数 findIndex，传递2个参数 元素、数组
    function findIndex(ele, arr = []) {
      let index = -1
      for (let i = 0; i < arr.length; i++) {
        if (ele === arr[i]) {
          index = i
          break
        }
      }
      return index
    }
    let index1 = findIndex(10, [1, 5, 10, 22, 8, 7])
    console.log(index1) // 2
    let index2 = findIndex(8, [1, 5, 10, 22, 8, 7])
    console.log(index2) // 4
    let index3 = findIndex(88, [1, 5, 10, 22, 8, 7])
    console.log(index3) // -1

  </script>
</body>

</html>